package GuiProgramming;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class caiquan extends JFrame implements ActionListener{
    JButton scissors,stone,fabric,clear;//定义了3个按钮（组件）
    JPanel panel2,panel1;//2个面板(中间容器)
    JLabel label;//文本（组件）

    public static void main(String[] args) {
        caiquan frame = new caiquan();//给类新建一个对象
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//setDefaultCloseOperation()是设置用户关闭窗体 时默认执行的操作。
        frame.setVisible(true);//让窗体可见
    }
    public caiquan(){
        setTitle("石头剪刀布游戏");//窗体的名字
        setLocation(250,250);//窗体中心点的位置
        setSize(960,540);//窗体的大小

        panel1 = new JPanel();
        panel1.setBackground(Color.blue);//颜色
        stone = new JButton("石头");//按钮的内容
        scissors = new JButton("剪刀");//按钮的内容
        fabric = new JButton("布");//按钮的内容
        clear = new JButton("清空");//按钮的内容

        panel2 = new JPanel();
        ImageIcon img = new ImageIcon("images//LoginBackground.jpg");//加背景图片
        JLabel background = new JLabel(img);//把图片放在JLable容器中
        panel2.add(background);
        background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());//设置图片的属性

        panel2.setVisible(true);//让窗体显示出来
        panel2.setBackground(Color.green);//把面板2的背景颜色设置为绿色

        label = new JLabel("选择剪刀, 石头, 布开始游戏");

        stone.addActionListener(this);//给当前类对象添加一个事件监听接口
        scissors.addActionListener(this);
        fabric.addActionListener(this);
        clear.addActionListener(this);
        // 把所有的新添加的对象都放进去窗体里面，先放进组件类，再放进窗体类
        panel1.add(stone);
        panel1.add(scissors);
        panel1.add(fabric);
        panel1.add(clear);
        panel2.add(label);
        add(panel1, BorderLayout.NORTH);
        add(panel2, BorderLayout.CENTER);
    }
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == stone){
            int i = ((int)(Math.random()*10))%3;//在 0， 1 ，2中随机选一个数
            switch (i){
                case 0:
                    label.setText("你出石头，电脑出布，很遗憾你输了！");
                    break;
                case 1:
                    label.setText("你出石头，电脑出石头，平局！");
                    break;
                case 2:
                    label.setText("你出石头，电脑出剪刀，恭喜你赢了！");
                    break;
            }
        }
        else if (e.getSource() == scissors){
            int i = (int) (Math.random()*3+1);//在 0， 1 ，2中随机选一个数
            switch(i) {
                case 0:
                    label.setText("你出剪刀，电脑出石头，很遗憾你输了！");
                    break;
                case 1:
                    label.setText("你出剪刀，电脑出剪刀，平局！");
                    break;
                case 2:
                    label.setText("你出剪刀，电脑出布，恭喜你赢了！");
                    break;
            }
        }
        else if (e.getSource() == fabric){
            int i = ((int)(Math.random()*10))%3;//在 0， 1 ，2中随机选一个数
            switch(i) {
                case 0:
                    label.setText("你出布，电脑出剪刀，很遗憾你输了！");
                    break;
                case 1:
                    label.setText("你出布，电脑出布，平局！");
                    break;
                case 2:
                    label.setText("你出布，电脑出石头，恭喜你赢了！");
                    break;
            }
        }
        else if (e.getSource() == clear){
            label.setText("选择剪刀, 石头, 布开始游戏！");
        }


    }
}
